
function _notice(val) {
  const div = document.createElement('div')
  div.classList.add('global-notice')
  div.textContent = val
  document.body.append(div)
  setTimeout(() => {
    document.body.removeChild(div)
  }, 1000)
}

function okmsg(title, callback) {
	uni.showToast({
		title: title,
		success(res) {
			callback && callback.apply(cnt.Vue, [res])
		}
	})
}
function errorToast(title, duration) {
	uni.showToast({
		title,
		mask: false,
		duration: duration || 3000,
		icon: "none"
	});
}
function errmsg(a, b) {
	//支持多种参数 1个参数 content  or {code,msg,data}, 多个参数 title,content 或 content | callback 
	var title = null
	var hastitle = false
	var content = null
	if (arguments.length == 1) {
		//1个参数 content  or {code,msg,data}
		if (typeof a == 'string') {
			content = a
		} else if (typeof a == 'object') {
			title = '错误'
			content = a.msg
			hastitle = true
		}
	} else {
		//多个参数
		if (typeof b == 'string') {
			title = a
			content = b
			hastitle = true
		} else {
			content = a
		}
	}
	var callbackfun = (typeof arguments[arguments.length - 1] == 'function') ? arguments[arguments.length - 1] : null
	var opts = {};
	if (hastitle) {
		//2个string参数
		opts.title = title;
		opts.content = content
	} else {
		//1个string参数
		opts.content = content
	}
	opts.showCancel = false
	opts.success = function(res) {
		callbackfun && callback.apply(cnt.Vue, [res])
	}
	uni.showModal(opts);
}
async function http (url, data, type, options) {
	// console.log('cnt+++', cnt)
	// if (url.indexOf('selectPushTime') === -1) {
	// 	uni.showLoading({
	// 		title: '正在拼命处理中'
	// 	});
	// }
	
	let opts = Object.assign(options || {}, {
		url: url + '?tmptime=' + new Date().getTime(),
		data: data,
		method: type,
		header: {
			"content-type":data.answer? "application/json":"application/x-www-form-urlencoded", // 设置请求头
		}
	})
	opts.header = opts.header || {}
	// console.log(opts)
	
	
	let res = await uni.request(opts)
	// console.log(res)
	// console.log(err, '------------------------------', res)
	// uni.hideLoading();
	
	// if (err) {
	// 	// console.log(err, '------------------------------')
	// 	// if (cnt.timerErrorToast) {
	// 	// 	clearTimeout(cnt.timerErrorToast)
	// 	// } else {
	// 	// 	errorToast('网络异常，请检查网络连接', 2000)
	// 	// }
	// 	// cnt.timerErrorToast = setTimeout(() => {
	// 	// 	errorToast('网络异常，请检查网络连接', 2000)
	// 	// }, 3000)
		
	// } else {
		// if (res.data.code == -1) {
			
		// 	if (res.data.message == null || res.data.message == 'not login.') {
		// 		errmsg("请返回APP重新登陆后再试！")
		// 	}
		// 	return
		// }
		return res.data
	// }
	
}
function getUrlSearch (name) {
	// 未传参，返回空
	if (!name) return null;
	// 查询参数：先通过search取值，如果取不到就通过hash来取
	var after = window.location.search;
	//       'http://www.hahaha.com/list?examid=9';
	// 		var after = '?examid=9'
	after = after.substr(1) || after.split("?")[1];
	//       after = after.split("?")[1]
	// 地址栏URL没有查询参数，返回空
	if (!after) return null;
	// 如果查询参数中没有"name"，返回空
	if (after.indexOf(name) === -1) return null;
	let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
	// 当地址栏参数存在中文时，需要解码，不然会乱码
	let r = decodeURI(after).match(reg);
	// 如果url中"name"没有值，返回空
	if (!r) return null;
	return r[2];
}

function formatTime(timestamp) {
  const now = new Date(); // 获取当前时间
  const commentTime = new Date(timestamp); // 将评论时间戳转换为Date对象
  const timeDifference = now - commentTime; // 计算时间差（毫秒）

  if (timeDifference < 60000) { // 小于1分钟
    return '刚刚';
  } else if (timeDifference < 3600000) { // 小于1小时
    const minutes = Math.floor(timeDifference / 60000);
    return `${minutes}分钟前`;
  } else if (timeDifference < 86400000) { // 小于1天
    const hours = Math.floor(timeDifference / 3600000);
    return `${hours}小时前`;
  } else if (timeDifference < 259200000) { // 小于3天
    const date = Math.floor(timeDifference / 86400000);
    return `${date}天前`;
  } else {
    // 大于等于3天的情况，可以根据需要自定义格式
    const dateOptions = { year: '2-digit', month: '2-digit', day: '2-digit' };
    return commentTime.toLocaleDateString('zh-CN', dateOptions);
  }
}

function numCount(num) {
	if (!num || num ==0) {
		return 0;
	} else if ( 0 < num && num < 100) {
		return num;
	} else if ( 99 < num && num < 100000) {
		const numK = parseFloat((num/1000).toFixed(2))
		return numK + 'k';
	} else if ( 99999 < num && num < 1000000 ) {
		const numW = parseFloat((num/10000).toFixed(2))
		return numW + 'w';
	} else if ( 999999 < num ) {
		const numM = parseFloat((num/1000000).toFixed(2))
		return numM + 'm';
	}
}

const cnt = {
	isAndroid: navigator.userAgent.indexOf('Android') > -1 || navigator.userAgent.indexOf('Adr') > -1, // 是否是安卓
	isIOS: !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), // 是否是ios终端
	isWxBrowser: navigator.userAgent.toLowerCase().match(/MicroMessenger/i)=="micromessenger", // 是否在微信浏览器
	_notice,
	errmsg,
	okmsg,
	errorToast,
	http,
	getUrlSearch,
	formatTime,
	numCount,
	token: '',
	appId: 0
}
export default cnt;